Para el siguiente curso utilicé el curso de Evelia Coss como base, lo puedes consultar aquí https://github.com/EveliaCoss/RNAseq_classFEB2023/tree/main/Rmarkdown

R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

Programación literaria

Los informes de los análisis de datos deberían ser reproducibles. Si se encuentra algún error o si agrega nueva información, es posible volver a compilar el informe y obtener los resultados. Para este fin la herramienta clave en R es knirt que permite crear un documento con texto y fragmentos de código intercalados. A esta idea se le ha llamado “programación literaria”.

“A reproducible workflow” by Ignasi Bartomeus and Francisco Rodríguez-Sánchez https://youtu.be/s3JldKoA0zw.

Organización de la información

Jerarquización de los títulos

Los titulos se dividen por el simbolo #, de la siguiente manera:

Genero Plantae (titulo principal)

Plantas Verdes (sub1)

Streptophyta (sub2)

Plantas terrestres (sub3)

Plantas vasculares (sub4)

Estilos de letras

Utilizando * es posible resaltar el texto con itálicas, negritas o ambas

italica negritas italica + negritas

Listas

Una sola división

  • uno
  • dos
  • tres

Múltiples subdivisiones

  • 1
  • 2
    • 2.1
    • 2.2
  • 3
    • 3.1
      • 3.1.1
    • 3.2
  • 4

Tipos de formatos de salida de un Rmarkdown

Los reportes hechos en Rmarkdown pueden exportarse como PDF, html y word.

Diferentes lenguajes

x= 'hello, world!'
x
## [1] "hello, world!"
x=$(echo 'hello, world!')
echo $x
## hello, world!

Opciones para los fragmentos de código

Hay varias opciones que afectan la forma en que los fragmentos de código se muestrean en el archivo de salida

  • Usa echo=FALSE para evitar que se muestre el código.
  • Usa results=“hide” para evitar que se impriman los resultados.
  • Usa eval=FALSE para tener el código mostrado pero no evaluado.
  • Usa warning=FALSE y message=FALSE para ocultar cualquier advertencia o mensajes producidos
  • Usa fig.height y fig.width para controlar el tamaño de las figuras producidas (en pulgadas).

Visualización

Gráficos, ejemplo por default

También se pueden agregar gráficos

plot(pressure)

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

Vamos a guardar este gráfico en nuestra computadora para utilizarlo más adelante.

png(file="./pressure.png",  width=15, height=10, units="in", res=1200)

plot(pressure, # dataframe 
    type="b", # Tipo de grafico
    cex=2, # Tamano de los puntos 
    pch = 0, # Forma del punto, valor de 0 a 25, el cero es un cuadrado
    main="", # titulo
    xlab="Temperature", ylab="Pressure", # titulo en X y en Y
    col="blue") # color de las lineas y puntos

dev.off()

Dataframe

Podemos utilizar la función head() para ver la información contenida en el dataframe pressure:

head(pressure)
##   temperature pressure
## 1           0   0.0002
## 2          20   0.0012
## 3          40   0.0060
## 4          60   0.0300
## 5          80   0.0900
## 6         100   0.2700

Este dataframe contiene dos columnas: temperature y pressure.

Para ver la estadística descriptiva de esta base de datos podemos usar summary:

summary(pressure)
##   temperature     pressure       
##  Min.   :  0   Min.   :  0.0002  
##  1st Qu.: 90   1st Qu.:  0.1800  
##  Median :180   Median :  8.8000  
##  Mean   :180   Mean   :124.3367  
##  3rd Qu.:270   3rd Qu.:126.5000  
##  Max.   :360   Max.   :806.0000

Generar tablas

Tabla simple

Num Header Header2 Header3
1 first 1st One
2 second 2nd Two
3 third 3rd Three

Agregar imágenes a un reporte

Podemos anexar imagenes a nuestros archivos tomando figuras de internet como el siguiente ejemplo.

The Carpentries Logo

Ademas, podemos anexar archivos contenidos en nuestra computadora, vamos a cargar la imagen que guardamos hace un momento:

knitr::include_graphics("pressure.png")

Hacer cálculos en un texto

Podemos marcar dentro del texto las partes que corresponden a una operacion matematica utilizando la comilla invertida

La suma de 4 mas 5 es 9.

La division de 4 entre 5 es 0.8.

La multiplicacion de 4 por 5 es 20.

¿Cuánto es 4^5? 1024

Redondear valores, 9.44 se redondea a 9.4

Lenguaje matematico

  • Agregar una ecuacion \[y = \mu + \sum_{i=1}^p \beta_i x_i + \epsilon\]

  • Agregar subindices CO2, alternativamente con html CO2

  • Agregar superindices E=MC2 o \(E=MC^2\), alternativamente con html E=MC2

Agregar notas de ayuda

Para dar color a tus reportes puede agregar notas en los mismos dependiendo del contenido de la informacion:

Blue boxes (alert-info)
Tip: Use blue boxes (alert-info) for tips and notes.
Yellow boxes (alert-warning)

Example: Use yellow boxes for examples that are not inside code cells, or use for mathematical formulas if needed. Typically also used to display warning messages.

Green boxes (alert-success)

Success: This alert box indicates a successful or positive action.

Red boxes (alert-danger)

Danger: This alert box indicates a dangerous or potentially negative action.

Agregar un índice en el reporte

  • Informacion modificada para agregar el indice

title: “Título”

author: “autor”

date: “fecha”

output: - html_document:

  • toc: yes

  • toc_float: yes

  • toc_depth: 6

  • theme: cerulean

  • toc es para indicar que vas a agregar un indice en el reporte.
  • toc_float es para indicar si el indice va a ser flotante o no, si indicas yes el indice se localizara a la izquiera de la pantalla y la informacion se desplegara cuando se coloques sobre ella.
  • toc_depth es para indicar el numero de subtitulos que puedes tener en el archivo.
  • theme es la decoracion del archivo.